User loginNavigation |
Project EulerRan across a short weblog entry on Leonhard Euler, the father of functions and initiator of much in the way of number theory. The mention of Project Euler caught my eye, as I rather like projects that involve multiple PLs attacking the same sets of problems. Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.Project Euler has been around for almost as long as LtU but this is the first I'd heard of it. I find the questions and the competitive gaming aspect to be interesting, though I have a long way to go (level 2 out 5). Not sure there is a direct tie into PLs, but since I'm using it to learn more math and investigate the breaking points and elegance of PLs... and anything involving multiple PLs in competition and mathematics can't be too far removed... and since I haven't posted a story to LtU in a while and this happens to be my current interest... well, that will have to suffice. I'll have to admit though that many of the solutions I looked at are either too rushed (brute force), too cumbersome (indexes flying everywhere) or too terse. But that's true of most code that I run across (including my own). Still hoping for a PL that has that just right aspect - though I'm leaning to Oz these days. (For those of us that are looking for walk-through/cheat guides, the Haskell wiki has the code to the first 200 problems, and I've put my Oz code for the first 50 up on the CTM wiki). By Chris Rathman at 2009-02-03 23:56 | Fun | Teaching & Learning | 8 comments | other blogs | 14325 reads
PL Grand ChallengesThe notes from a panel held at POPL 2009 on this topic are available here. Among the topics raised: Effects, Program verification, Parallelism, Visualization tools for understanding behavior of parallel programs, Secure software, High assurance. Not surprisingly all these topics have been discussed here repeatedly in recent years... Tony Hoare / Historically Bad Ideas: "Null References: The Billion Dollar Mistake"(seen via http://catless.ncl.ac.uk/Risks/25.51.html#subj9.1, i didn't find it searching on ltu yet) at qcon, london:
Using Promises to Orchestrate Web Interactions
Phil Windley posted a few useful links about this topic following WWW2008.
Bonus question: How is this item connected to the one I posted earlier today? Elephant 2000: A Programming Language for the year 2015 Based on Speech ActsMcCarthy's Elephant language proposal was mentioned here several times in the past. This talk from Etech provides a nice introduction to the fundamental idea behind Elephant and its background. The talk includes interesting, though not entirely motivated, comments related to the paper Ascribing Mental Qualities to Machines. This is one of McCarthy's most significant papers in my opinion, and deserves more attention and debate. It is also rather amusing. I hope I will find the time some day to put this paper in context (McCarthy's comments in the Etech talk notwithstanding), but for the time being I recommend it to anyone interested in this sort of thing. One thing is for sure: We can safely add to the 2009 predictions the prediction that Elephant will not be ready in 2009... Ziggurat
Strangely enough this project from Olin Shivers and David Fisher was not mentioned here before. Those with access may want to check out the paper on Ziggurat in the September 2008 double issue of JFP. By Ehud Lamm at 2009-01-20 07:35 | DSL | Meta-Programming | Software Engineering | 1 comment | other blogs | 11872 reads
Path Feasibility Analysis for String-Manipulating Programs
Path Feasibility Analysis for String-Manipulating Programs. Nikolaj Bjorner, Nikolai Tillmann, Andrei Voronkov.
We discuss the problem of path feasibility for programs manipulating strings using a collection of standard string library functions. We prove results on the complexity of this problem, including its undecidability in the general case and decidability of some special cases. In the context of test-case generation, we are interested in an efficient finite model finding method for string constraints. To this end we develop a two-tier finite model finding procedure. First, an integer abstraction of string constraints are passed to an SMT (Satisfiability Modulo Theories) solver. The abstraction is either unsatisfiable, or the solver produces a model that fixes lengths of enough strings to reduce the entire problem to be finite domain. The resulting fixed-length string constraints are then solved in a second phase. We implemented the procedure in a symbolic execution framework, report on the encouraging results and discuss directions for improving the method further. The authors note that while strings are a fundamental data type, the main existing way of handling strings in symbolic test-case generation tools is to treat them as regular arrays, and to treat string library subroutines as regular procedure calls, thus turning even simple calls to library functions into loop constructs. On the Strength of Proof-Irrelevant Type TheoriesBenjamin Werner explore a type theory that, among other things, might be a first step towards making a proof assistant that's also a more traditional programming environment in On the Strength of Proof-Irrelevant Type Theories, Logical Methods In Computing 2008.
A suggested application lies a few paragraphs in.
History of PythonGuido van Rossum is recounting the history of Python as a series of blogposts. It's off to a good start. What Are The Resolved Debates in General Purpose Language Design?In the history of PL design there has been quite a bit of vitriol spilled over design choices. These days bringing up "static vs dynamic typing" is a good way to generate some heat on a cold winter web forum. But a few debates seem to have been pretty firmly resolved, at least for general purpose languages. GP languages have considered goto harmful for decades now, dynamic scoping is seen as a real oddity, and manual memory management is a choice only made by systems language designers. Questions for LtU: What other debates have been "resolved" in the sense that general purpose languages are hardly ever designed with an alternative to the consensus? What debates will be resolved in the near future? And what apparently resolved debates deserve to be reopened? One rule: "static vs dynamic typing" will be considered off topic because clearly and emphatically that debate hasn't been resolved and has no prospect of being resolved any time soon. Also, it's boring. |
Browse archives
Active forum topics |
Recent comments
2 weeks 2 days ago
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 4 days ago
3 weeks 2 days ago
3 weeks 2 days ago
3 weeks 2 days ago
6 weeks 3 days ago
7 weeks 1 day ago
7 weeks 1 day ago